查看原文
其他

【综述专栏】对抗训练——终极数据增强?

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

作者:知乎—Greene

地址:https://www.zhihu.com/people/greene-31


01

什么是对抗训练?

对抗训练(Adversarial Training)最初由 Ian Goodfellow 等人[1]提出,作为一种防御对抗攻击的方法,思路非常简单直接,将生成的对抗样本加入到训练集中去,做一个数据增强,让模型在训练的时候就先学习一遍对抗样本;为了加速对抗样本的生成过程以便于训练,他们同时提出了著名的 FGSM 攻击,假设损失函数在样本点处为局部线性,快速生成  范数限制下的对抗样本:

后续有研究发现 FGSM 对抗训练并不是总能增强模型的对抗稳健性[2] (Adversarial Robustness),这也很好理解,因为 FGSM 这种单次线性构造对抗样本的方式显然生成的不是最优的对抗样本,另一方面这个方法设计之初也是为了快,而不是好。

2017年,Aleksander Madry[3] 等人提出使用更强的 PGD 攻击来进行对抗训练,并且在文中证明对抗训练可以获得一个稳健的模型。他们将对抗训练整理成了一个min-max优化问题:

寻找一个模型(以参数  表示),使得其能够正确分类扰动  在一定范围  内的对抗样本,即

其中  表示原始数据和对应的标签,  表示数据的分布,  是损失函数。

当内层达到最优的时候,他们证明在内层问题的最优解上求解外层问题可以获得整个问题的最优解,当然,实际实现时求解的都是近似最优。

彼时对抗训练并不是防御对抗攻击唯一的方法,还有诸如 Defensive Distillation[4]、Thermometer Encoding[5]、Pixel Defend[6]、对输入进行随机化处理[7]等看起来也很有前景的方法,但是接下来大部分都被证明本质是对模型进行了 Gradient Masking[8],即将模型的梯度进行了混淆,这样大部分白盒的攻击方法都不能有效利用梯度来进行攻击,但通过重建梯度或者使用较强的黑盒攻击方法,这些模型依然可以被攻破。

Anish Athalye 等人的评估结果 (没错,大部分研究还停留在CIFAR-10)

2018年,Anish Athalye 等人[9][10]对ICLR中展示的11种对抗防御方法进行了评估,最后他们只在基于对抗训练的两种方法上没有发现混淆梯度的迹象,自此之后,对抗训练成为对抗防御研究的主流。

对抗训练本身有两个显著的问题,一个是速度极慢,假设针对每个样本进行10次PGD对抗攻击来获得对抗样本,那么一个训练迭代就对梯度多进行了10次反向传播,训练用时至少是正常训练的十倍(因此最初才会使用FGSM等快速攻击方法来加快对抗训练);另一个问题则是精度较低,尽管模型面对对抗攻击更加稳健了,但是模型在正常样本上的精度降低了,原来可以达到95%以上的分类精度的模型,进行对抗训练之后,往往只能达到80%~90%,这意味着模型可能要在稳健性和精确度[11]之间取舍。

还有一个与对抗训练本身无关,但是对于防御对抗攻击的研究来说更加重要的问题:如何衡量模型的对抗稳健性?关于对抗训练的研究往往使用PGD攻击和C&W攻击[12]来证明自己对模型的对抗稳健性有所提升,试图使用最强的白盒攻击来证明模型的稳健性。

但对抗攻击是一个存在问题——只需要针对大部分样本都能够生成一个能够欺骗模型的对抗样本,这个攻击方法就是成功的,而对抗防御则是一个任意问题——一个对抗稳健的模型,需要能够正确识别所有潜在攻击方法生成的对抗样本,使用对抗攻击来证明对抗稳健性本身就是不靠谱的,得到的只是模型对抗稳健性[13]的上界,因此另有一系列研究(Provable Defense)从对抗训练出发,转而追求模型对抗稳健性的下界。


02

如何理解对抗训练?

对抗训练直接来源于使用对抗样本进行数据增强,因此一般的数据增强怎么起作用的,对抗训练就是怎么起作用的——也有人认为对抗训练是一种终极的数据增强。

Aleksander Madry 等人[3]有一个很形象的解释,如上图所示,左边的决策边界虽然能够很好地区分这两类数据点,但是有一些数据点离决策边界过近,不妨假设每个数据点有一个人眼不可分邻域,如中间所示,表示为每个点的一个  范数邻域,在二维数据上就是一个方框,在这个邻域内的数据点对于人眼来说没有区别,那么这个时候中间图片上的星形点就是对抗样本——人眼看起来没区别,但模型就是分错了。

对抗训练就是把这些星形点代表的对抗样本加入到训练样本中去,改变模型的决策边界,使得模型能够正确区分这些对抗样本,当邻域中的所有点都不会越过决策边界的时候,即右图所示,这一模型就具有在这一邻域范围内的对抗稳健性,即所有对数据点的改变不超过这一邻域的对抗扰动都无法改变模型的分类结果。

可以看到,在对抗训练中,上图中的星形点也就是靠近决策边界的数据点对应的对抗样本起到了一种类似于“支持向量”的作用,决策边界的形状很大程度上取决于这些点,因此一个好的对抗攻击算法也决定着对抗训练的结果,之所以使用FGSM进行对抗训练不一定能够增强模型的对抗稳健性,就是因为FGSM作为单次攻击,其找到的对抗样本并不一定是最适合于模型训练的(underfitting)。

由于数据增强是一种正则化(Regularization)方法,因此对抗训练也可以看作一种正则化方法,从这个角度看的话,对抗训练对应的正则化并不是非常新的想法。

Carl-Johann Simon-Gabriel 等人[14]便详细建立了对抗训练和正则化的联系:

对抗训练实际更新的损失函数可以表示为(Aleksander Madry等人[3]提出的PGD对抗训练并不使用正常样本  ,但是后来的TRADES[15]等又指出使用正常样本可以增加模型的精确度):

其中  是标准训练过程的损失函数,  是对抗攻击方法找到对抗扰动,如果扰动比较小(大部分对抗训练使用的扰动都比较小),可以使用一阶泰勒展开来近似,即:

上式的第二项是扰动给损失函数带来的变化,即:

其中  是  的对偶范数[16],定义为:

在  的时候  ,一般情况下有  。

将式 (5) 中的结果代入式 (4) 中,就得到了:

对抗训练变成了在损失函数中添加一个特殊的针对梯度的正则化项。

为什么说针对梯度进行正则化并不是非常新的想法呢?因为早在1991年,Harris Drucker 和 Yann Le Cun 就提出过一个叫双反向传播(Double Backpropagation)[17]的想法,核心思想就是对梯度进行一个  正则化限制,即向式 (7) 中代入  ,不过他们提出的目的是增加神经网络的泛化性(以测试集上的精确度来衡量)——这样也就不难理解,为啥对抗样本也能增加泛化性(Adversarial Propagation[18])了。

https://www.zhihu.com/question/325207094/answer/1510337593


03

对抗训练得到的模型有什么特点?

对抗训练费时费力,需要更多数据[19],更深更复杂的模型[20],得到的模型精确度还有所降低[21]——为了对抗稳健性,值得吗?这是一个哲学问题,至少学术研究上是值得的,工业应用上,现在大概率是没有人追求对抗稳健性的。
不过,对抗训练得到的模型也有一些很有意思的特点,比如对抗训练得到的模型具有相对清晰、相对可解释的梯度[21]:
要解释一个正常训练的模型,往往需要使用一些额外的方法(例如 Grad-CAM[22]),但是对抗训练得到的模型,使用梯度就可以较好地解释模型的分类结果。
对抗训练得到的模型还可以当作生成模型来用,利用对抗攻击,直接基于梯度和标签进行语义转换[21][23](尽管效果还比不上各种惊艳的GAN):
此外,有研究指出,正常训练得到的卷积神经网络更加关注输入图像的纹理特征[24], 而对抗训练得到的模型,更加关注输入图像的形状和全局特征[25]:
不过,鉴于对抗训练得到的模型具有更加清晰、更加类似于输入图像的梯度,因此其更加关注形状和全局特征也不奇怪。基于这一观察,也有研究直接对模型的梯度进行一个限制,人为让梯度更加类似于输入图像来增加模型的对抗稳健性(JARN[26])。

参考

1. Ian Goodfellow, Jonathon Shlens, and Christian Szegedy. Explaining and harnessing adversarial examples. ICLR 2015.  https://arxiv.org/abs/1412.6572

2. Seyed-Mohsen Moosavi-Dezfooli, Alhussein Fawzi, Pascal Frossard. DeepFool: A Simple and Accurate Method to Fool Deep Neural Networks. CVPR 2016. https://arxiv.org/abs/1511.04599

3. abcAleksander Madry, Aleksandar Makelov, Ludwig Schmidt, Dimitris Tsipras, Adrian Vladu. Towards Deep Learning Models Resistant to Adversarial Attacks. ICLR 2018 https://arxiv.org/abs/1706.06083

4. Nicolas Papernot, Patrick McDaniel, Xi Wu, Somesh Jha, Ananthram Swami. Distillation as a Defense to Adversarial Perturbations Against Deep Neural Networks. arXiv preprint 2015. https://arxiv.org/abs/1511.04508v1

5. Jacob Buckman, Aurko Roy, Colin Raffel, Ian Goodfellow. Thermometer Encoding: One Hot Way To Resist Adversarial Examples. ICLR 2018. https://openreview.net/forum?id=S18Su--CW

6. Yang Song, Taesup Kim, Sebastian Nowozin, Stefano Ermon, Nate Kushman. PixelDefend: Leveraging Generative Models to Understand and Defend against Adversarial Examples. ICLR 2018. https://arxiv.org/abs/1710.10766

7. Cihang Xie, Jianyu Wang, Zhishuai Zhang, Zhou Ren, Alan Yuille. Mitigating Adversarial Effects Through Randomization. ICLR 2018. https://openreview.net/forum?id=Sk9yuql0Z

8. Nicolas Papernot, Patrick McDaniel, Ian Goodfellow, Somesh Jha, Z. Berkay Celik, Ananthram Swami. Practical Black-Box Attacks against Machine Learning. ACCCS 2017 https://arxiv.org/abs/1602.02697

9. Anish Athalye, Nicholas Carlini, David Wagner. Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples. ICML 2018. http://export.arxiv.org/abs/1802.00420

10. 炸了!这届ICLR论文被指太“渣”?Goodfellow围追堵截要说法 https://zhuanlan.zhihu.com/p/33554466

11. 也有人称为“泛化性”

12. Nicholas Carlini, David Wagner. Towards Evaluating the Robustness of Neural Networks. SP 2017.  https://arxiv.org/abs/1608.04644

13. 以在对抗攻击下模型的精确度(Robust Accuracy)来衡量

14. Carl-Johann Simon-Gabriel, Yann Ollivier, Léon Bottou, Bernhard Schölkopf, David Lopez-Paz. First-order Adversarial Vulnerability of Neural Networks and Input Dimension. ICML 2019. https://arxiv.org/abs/1802.01421

15. Hongyang Zhang, Yaodong Yu, Jiantao Jiao, Eric P. Xing, Laurent El Ghaoui, Michael I. Jordan. Theoretically Principled Trade-off between Robustness and Accuracy. ICML 2019. https://arxiv.org/abs/1802.01421

16. 对偶范数 - 百度百科 https://baike.baidu.com/item/%E5%AF%B9%E5%81%B6%E8%8C%83%E6%95%B0/18844325?fr=aladdin

17. Drucker, H. and LeCun, Y. Double backpropagation increasing generalization performance. In International Joint Conference on Neural Networks, 1991. https://nyuscholars.nyu.edu/en/publications/double-backpropagation-increasing-generalization-performance

18. Cihang Xie, Mingxing Tan, Boqing Gong, Jiang Wang, Alan Yuille, Quoc V. Le. Adversarial Examples Improve Image Recognition. CVPR 2020. https://arxiv.org/abs/1911.09665v2

19. Ludwig Schmidt, Shibani Santurkar, Dimitris Tsipras, Kunal Talwar, Aleksander Mądry. Adversarially Robust Generalization Requires More Data. NIPS 2018 https://arxiv.org/abs/1804.11285

20. Cihang Xie, Alan Yuille. Intriguing Properties of Adversarial Training at Scale. ICLR 2020. https://openreview.net/forum?id=HyxJhCEFDS&noteId=rJxeamAAKB

21. abcDimitris Tsipras, Shibani Santurkar, Logan Engstrom, Alexander Turner, Aleksander Madry. Robustness May Be at Odds with Accuracy. ICLR 2019.  https://arxiv.org/abs/1805.12152

22. Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization https://arxiv.org/abs/1610.02391

23. Shibani Santurkar, Dimitris Tsipras, Brandon Tran, Andrew Ilyas, Logan Engstrom, Aleksander Madry. Image Synthesis with a Single (Robust) Classifier. arXiv preprint 2019  https://arxiv.org/abs/1906.09453v2

24. Robert Geirhos, Patricia Rubisch, Claudio Michaelis, Matthias Bethge, Felix A. Wichmann, Wieland Brendel. ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness. ICLR 2019. https://arxiv.org/abs/1811.12231

25. Tianyuan Zhang, Zhanxing Zhu. Interpreting Adversarially Trained Convolutional Neural Networks. ICML 2019.  https://arxiv.org/abs/1905.09797

26. Alvin Chan, Yi Tay, Yew Soon Ong, Jie Fu. Jacobian Adversarially Regularized Networks for Robustness. ICLR 2020. https://arxiv.org/abs/1912.10185


本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。



“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存